// RadiusAuth.h: interface for the CRadiusAuth class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RADIUSAUTH_H__FC68B090_85BF_4ECA_9B56_C557EC302B2E__INCLUDED_)
#define AFX_RADIUSAUTH_H__FC68B090_85BF_4ECA_9B56_C557EC302B2E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Redist/acradiusah.h"
#define MAXINIITEMLEN 1024

class CRadiusAuth  
{
public:
	CRadiusAuth();
	virtual ~CRadiusAuth();
	enum
	{
		AUTH_FAILURE,
		AUTH_PASS
	};
// Data
public:
	static const char * m_pszIniAppName;
	static const char * m_pszIniFilePath;
private:
	char m_pszIP[MAXINIITEMLEN];
	char m_pszAhPort[MAXINIITEMLEN];
	char m_pszSharedSecret[MAXINIITEMLEN];
	char m_pszDomainAdmin[MAXINIITEMLEN];
	long m_lTimeOut;
// Implementation
public:
	void LoadConfiguration();
	int Authenticate(const char * const pszUserName, const char * const pszPassword);
	static void Log(const char * const pszMessage);
};

#endif // !defined(AFX_RADIUSAUTH_H__FC68B090_85BF_4ECA_9B56_C557EC302B2E__INCLUDED_)
